/**
 * All rights Reserved
 *
 * @Title: ColumnHandleMap.java
 * @Package com.amigo.online.provider.sync.util
 * @Description: (用一句话描述该文件做什么)
 * @author: zxy  QQ:1363320658
 * @date: 2018年12月14日 上午11:41:58
 * @version V1.0
 * @Copyright: 2018  All rights reserved.
 */
package com.amigo.online.provider.sync.abs;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @version: V 1.0.0
 * @Description: （对类进行功能描述） 
 * @author: zxy  QQ:1363320658
 * @date: 2018年12月14日 上午11:41:58  
 *
 */

public class ColumnHandleMap {


    /**
     * 默认id字段
     */
    private static final String DEFAULT_COLUMN_ID = "id";

    private static final String HANDLER_SERVICE_SUFFIX = "DataHandler";

    /**
     * 表名简称
     * video_tbl 即为 video
     */
    private String tableName;

    /**
     * 处理源
     * mongo,
     * solr,
     * redis
     */
    private String source;
    /**
     * 表中 标记 唯一字段 默认 id
     */
    private String id = DEFAULT_COLUMN_ID;

    /**
     * 默认处理
     */
    private String handlerService;

    /**
     * 处理的template
     * 针对mongo 多template 问题
     */
    private String handlerTemplate;

    /**
     * 对应处理的集合 名称
     *
     */
    private String collection;

    /**
     * 数据插入对象处理类名称
     */
    private String insertConvert;

    private List<String> columnList;

    private Map<String, String> projectMap = new HashMap<>(16);

    private Map<String, String> classMap = new HashMap<>(16);

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
        this.handlerService = source + HANDLER_SERVICE_SUFFIX;
    }

    public String getCollection() {
        return collection;
    }

    public void setCollection(String collection) {
        this.collection = collection;
    }

    public String getInsertConvert() {
        return insertConvert;
    }

    public void setInsertConvert(String insertConvert) {
        this.insertConvert = insertConvert;
    }

    public String getHandlerTemplate() {
        return handlerTemplate;
    }

    public void setHandlerTemplate(String handlerTemplate) {
        this.handlerTemplate = handlerTemplate;
    }

    public String getHandlerService() {
        return handlerService;
    }

    public void setHandlerService(String handlerService) {
        this.handlerService = handlerService;
    }

    public List<String> getColumnList() {
        return columnList;
    }

    public void setColumnList(List<String> columnList) {
        this.columnList = columnList;
    }

    public Map<String, String> getProjectMap() {
        return projectMap;
    }

    public void setProjectMap(Map<String, String> projectMap) {
        this.projectMap = projectMap;
    }

    public Map<String, String> getClassMap() {
        return classMap;
    }

    public void setClassMap(Map<String, String> classMap) {
        this.classMap = classMap;
    }
}
